package com.ruoyi.activity.controller;

import com.ruoyi.activity.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 订单相关接口
 */
@RestController
@RequestMapping("/api/order")
public class OrderController {

    @Autowired
    private OrderService orderService;

    /**
     * 用户下单接口
     * @param userId 用户ID
     * @param productId 商品ID
     * @param couponId 优惠券ID
     * @return 下单结果
     */
    @PostMapping("/create") // 映射POST请求到/create
    public String createOrder(@RequestParam Long userId, @RequestParam Long productId, @RequestParam Long couponId) {
        // 调用OrderService的createOrder方法，执行下单逻辑
        boolean result = orderService.createOrder(userId, productId, couponId);
        // 根据下单结果返回不同的字符串
        return result ? "下单成功" : "下单失败";
    }

    /**
     * 用户主动取消订单接口
     * @param userId 用户ID
     * @param orderId 订单ID
     * @return 取消结果
     */
    @PostMapping("/cancel") // 映射POST请求到/cancel
    public String cancelOrder(@RequestParam Long userId, @RequestParam Long orderId) {
        // 调用OrderService的cancelOrder方法，执行取消逻辑
        boolean result = orderService.cancelOrder(userId, orderId);
        // 根据取消结果返回不同的字符串
        return result ? "取消成功" : "取消失败";
    }
} 